Memory devices, particularly non-volatile memory devices like flash memory, are commonly packaged in a manner that makes it relatively easy for users to insert and remove the memory devices from a host, such as host devices or host systems. Examples of memory devices packaged in this manner include SD Cards, Micro SD Cards, Flash Memory Cards, and CE Cards, to name a few. All of these and other memory devices will sometimes be generically referred to herein as “memory cards,” which is intended to refer to any memory device that may be installed in or removed from a host by means other than soldering or the like. Such memory cards frequently use flash memory devices, although other types of memory devices may also be packaged in this manner.
Generally, such memory cards are inserted into a socket or other connector so that a plurality of terminals of the memory card make contact with respective terminals of the socket or other connector. Various types of connectors for receiving memory cards are in common use. One conventional connector is basically just a connector into which an edge of a memory card containing terminals is pushed by a user. The card may be held in position in the connector by the friction resulting from the force exerted by the connector terminals against the memory card terminals. The memory card may subsequently be pulled from the connector by the user. These types of connectors are known as “push-pull” connectors because of the manner in which they are installed and removed by a user. Devices using push-pull connectors sometimes include a plunger, lever or other device that may be actuated by a user to at least partially remove the memory card from the connector.
Another type of memory card connector in common use is known as a “push-push” connector. In a push-push connector, the memory card may be pushed into the connector by a user and then released. When released, the memory card may spring back a short distance but may then be latched in the connector. The memory card may be at least partially removed by again pressing in on the memory card, thereby unlatching the memory card from the connector. Once unlatched, the memory card may easily be removed from the connector. Other types of memory card connectors are also used, such as memory cards using a universal serial bus (“USB”) connector.
As mentioned above, memory cards frequently use flash memory devices. As is well-known in the art, flash memory devices are non-volatile memory devices that typically use a charge stored on a floating or non-floating gate on each of a large number of transistors to store respective data. The level of the stored charge defines whether the data stored on the transistor is a logic “0” or a logic “1”, for example. Conventional, flash memory devices may thus be programmed by placing a specific charge on the floating gates of the transistors. Flash memory cells may be erased by programming all of the memory cells with a specific charge, such as one corresponding to a logic “1.”
Insofar as memory cards generally may be removable from a host at any time, it may be possible for a user to remove the memory card while a programming or erase operation is in process. Unfortunately, the removal of power from the memory card during programming or erase may cause data stored in the memory card to be corrupted. This problem has been addressed in various ways. Operating systems, such as various models of Microsoft Windows,® provide a user interface to allow a user to indicate to a host that the user intends to remove the memory card from the host. The operating system may respond to the remove indication by causing the host to apply signals to the memory card that terminate all programming and erase operations. However, it may be possible for a user to remove the memory card without providing an remove indication to the host, thereby possibly corrupting data stored in the memory card.
With the recent advent of multi-level flash memory devices, which may store any of 4 or more different charge levels on each floating gate, for example, the problem of data corruption caused by removing memory cards during erase or programming operations may become even more serious. There is, therefore, a need for a device or method that may reduce the likelihood of data corruption caused by removing memory cards during erase or programming operations or other operations that may occur in memory devices that should be completed before the memory devices are removed.